package com.lry.pda.bottom.c.frontend;

public class TestC {


//    void quicksort(int A[10], int p, int r) {
//        int x;
//        int i;
//        i = p - 1;
//        int j;
//        int t;
//        int v;
//        v = r - 1;
//        if (p < r) {
//            x = A[r];
//
//            for (j = p; j <= v; j++) {
//                if (A[j] <= x) {
//                    i++;
//                    t = A[i];
//                    A[i] = A[j];
//                    A[j] = t;
//                }
//            }
//
//            v = i + 1;
//            t = A[v];
//            A[v] = A[r];
//            A[r] = t;
//
//            t = v - 1;
//            quicksort(A, p,  t);
//            t = v + 1;
//            quicksort(A, t,  r);
//        }
//
//    }
//
//
//    void main () {
//        int a[10];
//        int i;
//        int t;
//        printf("before quick sort:");
//        for(i = 0; i < 10; i++) {
//            t = (10 - i);
//            a[i] = t;
//            printf("value of a[%d] is %d", i, a[i]);
//        }
//
//
//        quicksort(a, 0, 9);
//
//        printf("after quick sort:");
//        for (i = 0; i < 10; i++) {
//            printf("value of a[%d] is %d", i, a[i]);
//        }
//
//    }
//
//    void main() {
//        char *p;
//        char *p1;
//        p = malloc(2);
//        p1 = malloc(1);
//        p1[0] = 0;
//        *(p+0) = 1;
//        *(p+1) = 2;
//        *(p+2) = 3;
//        *(p+3) = 3;
//        printf("p[0] is : %d,  p[1] is : %d, p1[0] is :%d", *(p+0), *(p+1), p1[0]);
//    }

//    void main() {
//        int *p;
//        p = malloc(8);
//        *(p+0) = 1;
//        *(p+1) = 2;
//        printf("p[0] is : %d,  p[1] is : %d", *(p+0), *(p+1));
//    }


//    void main() {
//        int *p;
//        p = malloc(8);
//        printf("addr of p is : %d\n", p);
//        p[0] = 1;
//        p[1] = 2;
//        printf("p[0] is : %d,  p[1] is : %d", p[0], p[1]);
//    }

//    void main() {
//        char *p;
//        p = malloc(2);
//        printf("addr of p is : %d\n", p);
//        p[0] = 1;
//        p[1] = 2;
//        printf("p[0] is : %d,  p[1] is : %d", p[0], p[1]);
//    }


//    void f18(int a[1]){
//        int b = a[0];
//    }
//    void main4(){
//        int a[1];
//        a[0] = 1;
//        f18(a);
//    }


//    int a[3];
//    void f16() {
//        int i;
//        i = 0;
//        while (i < 3) {
//            a[i] = i;
//            i++;
//        }
//
//        i = 0;
//        do {
//            i++;
//        } while (i < 3);
//    }

//    void main() {
//        printf("a is %d:",1);
//        int a = power(2,3);
//    }

//测试递归调用参数现场保护
//    void f17(int n){
//        if(n<=0){
//            return;
//        }
//        printf("before,%d",n);
//        f17(n-1);
//        printf("after,%d",n);
//    }
//    void main3(){
//        f17(1);
//    }

    int f16(int a,int b,int c){
        int d = a+b+c;
        return d;
    }

    void main2() {
        int a = f16(1,2,3);
    }

    void f15(){
        boolean a = true;
        boolean b = false;
        boolean c = a&&b;
        c = a||b;
        c = !a;
        c= !b;
        c = !!a;
        c = !!b;
    }
    void main1() {
        f15();
    }




    void f14() {
        int a = 0;
        a+=3;
        a-=1;
        a*=2;
        a/=2;
        a+=(1+2);
        a^=1;
        a&=1;
        a|=1;
    }

    void f13() {
        int i = 0;
        int a = 0;

        for (i = 0; i <= 3; i++) {
            a = a + 1;
        }
    }


    void f12(){
        int i=1;
        int a;
        a = i++;
        a = ++i;
    }

    void f11(){
        int a=1;
        int b;
        a++;
        b = -a;
    }

    void f10(){
        int a=1;
        a++;
        a--;
        ++a;
        --a;
        a = -a;
    }

    void f9(){
        int a=1+2,b=2+3;
        int c=1+2,d=2+3;
        int e=a+b,f=c+d;
    }

    void f8(){
        int a;
        int b;
        int c;
        a=1;
        b=2;
        c=a+b;
        c=a-b;
        c=a*b;
        c=a/b;
        c=a%b;
        c=a&b;
        c=a|b;
        c=a^b;
        c=a>>b;
        c=a<<b;
    }
    void f7() {
        int a;
        int b;
        a = 1;
        if (a > 1) {
            b = a + 2;
        } else {
            b = a + 3;
        }
    }

    void f6() {
        int a;
        int b;
        a = 1;
        if (a > 1) {
            b = a + 2;
        }else if(a>2){
            b = a + 10;
        } else {
            b = a + 3;
        }
    }

    void f3(){
        int a = 1;
        switch (a){
            case 1:
                break;
            default:
                break;
        }
    }

    void f2() {
        int a = 0;
        int i = 0;
        if (i < 1)
            a = 1;
        else if (i < 2)
            a = 2;
        else
            a = 3;
    }

    void f5(){
        int a = 0;
        int i = 0;
        for (i = 0; i < 10; i++) {
            a = a + 1;
        }
    }
    void main() {
        f5();
    }

//    long int *a,b;

//    long funName(int a,int *b);

//     struct tag {
//             int *a, b;
//             long c;
//             struct tag *d;
//         }name;

//    struct  argotiers {
//        double   Mathias[5];
//        struct   argotiers *Guillaume;
//        struct   pstruct {int a;} Pierre;
//    } gipsy;

     int f(){
            int a;
            int b;
            a = 1;
            b = 2;
            int c;
            c = a > b ? a : b;
            return c;
     }


//    int f(){
//        name: int a;
//        int b;
//        goto name;
//        a = 1;
//        b = 2;
//        int c;
//        c = a > b ? a : b;
//        return c;
//    }

//    int f2(){
//        int c;
//        c = (1+1)*2/3;
//        c+=2;
//        c-=2;
//        c*=2;
//        c/=2;
//        c%=2;
//        c&=2;
//        c|=2;
//        c^=2;
//        c = a&&b;
//        c = a||b;
//        c = !a;
//        return c;
//    }

//    int f3(){
//        int c;
//        c=1;
//        f3();
//        int a[1];
//        c = tag->name;
//        c = a[0];
//        return c;
//    }
}

